package main

import "fmt"

func main() {
	nums := []int{9, 1, 4, 5, 2, 3, 8}
	sort(nums)
	fmt.Println(nums)
}

func sort(nums []int) {
	// 从第二个数字开始进行循环，把第一个数字当成比较的标准
	for i := 1; i < len(nums); i++ {
		// 当前需要进行排序的数字
		current := nums[i]
		// 当前需要将current与前边的数据进行比较，直到前一个数比他小
		// 可以理解为找插入的位置，找自己应该插到哪个位置
		j := i - 1
		for ; j >= 0 && nums[j] > current; j-- {
			nums[j+1] = nums[j]
		}

		nums[j+1] = current
	}
}
